nlp_architect.nn.tensorflow.python.keras.layers package


nlp_architect.nn.tensorflow.python.keras.layers.crf module

class nlp_architect.nn.tensorflow.python.keras.layers.crf.CRF(num_classes, **kwargs)[source]

Bases: tensorflow.python.keras.engine.base_layer.Layer

Conditional Random Field layer (tf.keras) CRF can be used as the last layer in a network (as a classifier). Input shape (features) must be equal to the number of classes the CRF can predict (a linear layer is recommended).

Note: the loss and accuracy functions of networks using CRF must use the provided loss and accuracy functions (denoted as loss and viterbi_accuracy) as the classification of sequences are used with the layers internal weights.

Parameters:num_labels (int) – the number of labels to tag each temporal input.
Input shape:
nD tensor with shape (batch_size, sentence length, num_classes).
Output shape:
nD tensor with shape: (batch_size, sentence length, num_classes).

Creates the variables of the layer (optional, for subclass implementers).

This is a method that implementers of subclasses of Layer or Model can override if they need a state-creation step in-between layer instantiation and layer call.

This is typically used to create the weights of Layer subclasses.

Parameters:input_shape – Instance of TensorShape, or list of instances of TensorShape if the layer expects a list of inputs (one instance per input).
call(inputs, sequence_lengths=None, **kwargs)[source]

This is where the layer’s logic lives.

  • inputs – Input tensor, or list/tuple of input tensors.
  • **kwargs – Additional keyword arguments.

A tensor or list/tuple of tensors.


Computes the output shape of the layer.

Assumes that the layer will be built to match that input shape provided.

Parameters:input_shape – Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the layer). Shape tuples can include None for free dimensions, instead of an integer.
Returns:An input shape tuple.

Returns the config of the layer.

A layer config is a Python dictionary (serializable) containing the configuration of a layer. The same layer can be reinstantiated later (without its trained weights) from this configuration.

The config of a layer does not include connectivity information, nor the layer class name. These are handled by Network (one layer of abstraction above).

Returns:Python dictionary.
loss(y_true, y_pred)[source]

Module contents